<!DOCTYPE html>
<html lang="en" class="js csstransforms3d">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <meta name="generator" content="Hugo 0.85.0" />
  <meta name="description" content="">


  <link rel="shortcut icon" href="../images/favicon.png" type="image/x-icon" />
  <link rel="icon" href="../images/favicon.png" type="image/x-icon" />

  <title>Performance Profiler :: Mesen Documentation</title>


  <link href="../css/nucleus.css?1626403088" rel="stylesheet">
  <link href="../css/font-awesome.min.css?1626403088" rel="stylesheet">
  <link href="../css/hybrid.css?1626403088" rel="stylesheet">
  <link href="../css/featherlight.min.css?1626403088" rel="stylesheet">
  <link href="../css/perfect-scrollbar.min.css?1626403088" rel="stylesheet">
  <link href="../css/horsey.css?1626403088" rel="stylesheet">
  <link href="../css/theme.css?1626403088" rel="stylesheet">
  <link href="../css/hugo-theme.css?1626403088" rel="stylesheet">
  <link href="../css/custom.css?1626403088" rel="stylesheet">

  <link href="../css/theme-green.css?1626403088" rel="stylesheet">


  <script src="../js/jquery-2.x.min.js?1626403088"></script>

  <style type="text/css">
    :root #header+#content>#left>#rlblock_left {
      display: none !important;
    }
  </style>

</head>

<body class="" data-url="../debugging/performanceprofiler.html">
  <nav id="sidebar" class="">



    <div id="header-wrapper">
      <div id="header">
        <a id="logo" href="../index.html">
          <img src="../images/MesenIcon.png" />
        </a>

      </div>

      <div class="searchbox">
        <label for="search-by"><i class="fa fa-search"></i></label>
        <input data-search-input id="search-by" type="text" placeholder="Search...">
        <span data-search-clear=""><i class="fa fa-close"></i></span>
      </div>

      <script type="text/javascript" src="../js/lunr.min.js?1626403088"></script>
      <script type="text/javascript" src="../js/horsey.js?1626403088"></script>
      <script type="text/javascript">

        var baseurl = "";


      </script>
      <script type="text/javascript" src="../js/searchjson.js?1626403088"></script>
      <script type="text/javascript" src="../js/search.js?1626403088"></script>


    </div>

    <div class="highlightable">
      <ul class="topics">








        <li data-nav-id="/gettingstarted.html" title="Getting Started" class="dd-item 
        
        
        
        ">
          <a href="../gettingstarted.html">
            Getting Started

          </a>


        </li>










        <li data-nav-id="/configuration.html" title="Configuration" class="dd-item 
        
        
        
        ">
          <a href="../configuration.html">
            Configuration

          </a>


          <ul>













            <li data-nav-id="/configuration/audio.html" title="Audio Options" class="dd-item ">
              <a href="../configuration/audio.html">
                Audio Options

              </a>
            </li>













            <li data-nav-id="/configuration/input.html" title="Input Options" class="dd-item ">
              <a href="../configuration/input.html">
                Input Options

              </a>
            </li>













            <li data-nav-id="/configuration/video.html" title="Video Options" class="dd-item ">
              <a href="../configuration/video.html">
                Video Options

              </a>
            </li>













            <li data-nav-id="/configuration/emulation.html" title="Emulation Options" class="dd-item ">
              <a href="../configuration/emulation.html">
                Emulation Options

              </a>
            </li>













            <li data-nav-id="/configuration/preferences.html" title="Preferences" class="dd-item ">
              <a href="../configuration/preferences.html">
                Preferences

              </a>
            </li>







          </ul>

        </li>










        <li data-nav-id="/tools.html" title="Tools" class="dd-item 
        
        
        
        ">
          <a href="../tools.html">
            Tools

          </a>


        </li>










        <li data-nav-id="/debugging.html" title="Debugging Tools" class="dd-item 
        parent
        
        
        ">
          <a href="../debugging.html">
            Debugging Tools

          </a>


          <ul>













            <li data-nav-id="/debugging/debugger.html" title="Debugger" class="dd-item ">
              <a href="../debugging/debugger.html">
                Debugger

              </a>
            </li>













            <li data-nav-id="/debugging/apuviewer.html" title="APU Viewer" class="dd-item ">
              <a href="../debugging/apuviewer.html">
                APU Viewer

              </a>
            </li>













            <li data-nav-id="/debugging/assembler.html" title="Assembler" class="dd-item ">
              <a href="../debugging/assembler.html">
                Assembler

              </a>
            </li>













            <li data-nav-id="/debugging/eventviewer.html" title="Event Viewer" class="dd-item ">
              <a href="../debugging/eventviewer.html">
                Event Viewer

              </a>
            </li>













            <li data-nav-id="/debugging/memorytools.html" title="Memory Tools" class="dd-item ">
              <a href="../debugging/memorytools.html">
                Memory Tools

              </a>
            </li>













            <li data-nav-id="/debugging/performanceprofiler.html" title="Performance Profiler" class="dd-item active">
              <a href="../debugging/performanceprofiler.html">
                Performance Profiler

              </a>
            </li>













            <li data-nav-id="/debugging/ppuviewer.html" title="PPU Viewer" class="dd-item ">
              <a href="../debugging/ppuviewer.html">
                PPU Viewer

              </a>
            </li>













            <li data-nav-id="/debugging/scriptwindow.html" title="Script Window" class="dd-item ">
              <a href="../debugging/scriptwindow.html">
                Script Window

              </a>
            </li>













            <li data-nav-id="/debugging/texthooker.html" title="Text Hooker" class="dd-item ">
              <a href="../debugging/texthooker.html">
                Text Hooker

              </a>
            </li>













            <li data-nav-id="/debugging/tracelogger.html" title="Trace Logger" class="dd-item ">
              <a href="../debugging/tracelogger.html">
                Trace Logger

              </a>
            </li>













            <li data-nav-id="/debugging/debuggerintegration.html" title="Integration with compilers" class="dd-item ">
              <a href="../debugging/debuggerintegration.html">
                Integration with compilers

              </a>
            </li>







          </ul>

        </li>










        <li data-nav-id="/hdpacks.html" title="HD Packs" class="dd-item 
        
        
        
        ">
          <a href="../hdpacks.html">
            HD Packs

          </a>


        </li>










        <li data-nav-id="/apireference.html" title="Lua API reference" class="dd-item 
        
        
        
        ">
          <a href="../apireference.html">
            Lua API reference

          </a>


          <ul>













            <li data-nav-id="/apireference/changelog.html" title="Changelog" class="dd-item ">
              <a href="../apireference/changelog.html">
                Changelog

              </a>
            </li>













            <li data-nav-id="/apireference/callbacks.html" title="Callbacks" class="dd-item ">
              <a href="../apireference/callbacks.html">
                Callbacks

              </a>
            </li>













            <li data-nav-id="/apireference/drawing.html" title="Drawing" class="dd-item ">
              <a href="../apireference/drawing.html">
                Drawing

              </a>
            </li>













            <li data-nav-id="/apireference/emulation.html" title="Emulation" class="dd-item ">
              <a href="../apireference/emulation.html">
                Emulation

              </a>
            </li>













            <li data-nav-id="/apireference/input.html" title="Input" class="dd-item ">
              <a href="../apireference/input.html">
                Input

              </a>
            </li>













            <li data-nav-id="/apireference/logging.html" title="Logging" class="dd-item ">
              <a href="../apireference/logging.html">
                Logging

              </a>
            </li>













            <li data-nav-id="/apireference/memoryaccess.html" title="Memory Access" class="dd-item ">
              <a href="../apireference/memoryaccess.html">
                Memory Access

              </a>
            </li>













            <li data-nav-id="/apireference/misc.html" title="Miscellaneous" class="dd-item ">
              <a href="../apireference/misc.html">
                Miscellaneous

              </a>
            </li>













            <li data-nav-id="/apireference/enums.html" title="Enums" class="dd-item ">
              <a href="../apireference/enums.html">
                Enums

              </a>
            </li>







          </ul>

        </li>





      </ul>



      <section id="shortcuts">
        <h3>More</h3>
        <ul>

          <li class="" role="">
            <a class="padding" href="https://www.mesen.ca"><img style='vertical-align: middle'
                src='../images/favicon.png' /> <span style='display: inline;vertical-align: middle'>Website</span></a>
          </li>

          <li class="" role="">
            <a class="padding" href="https://github.com/SourMesen/Mesen"><i class='fa fa-github'></i> GitHub</a>
          </li>

        </ul>
      </section>



      <div id="menuspacer"></div>
      <section id="footer">
        <div class="menuFooter">
          <div class="donateButton"><a href="https://www.mesen.ca/Donate.php"><img src="../images/patreon.png"
                alt="Become a Patron!" width="66%" height="66%"></a></div>
          <div class="donateButton"><a class="bmc-button" target="_blank" href="https://www.mesen.ca/BuyCoffee.php"><img
                src="../images/BMC-btn-logo.svg" alt="Donate"><span style="margin-left:5px">Donate</span></a></div>
          Version: <b>0.9.9</b><br />
          Last Updated: <b>2021-07-16</b>
        </div>

      </section>
    </div>
  </nav>





  <section id="body">
    <div id="overlay"></div>
    <div class="padding highlightable sticky-parent">

      <div class="sticky-spacer">
        <div id="top-bar">


          <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
            <span id="sidebar-toggle-span">
              <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
                <i class="fa fa-bars"></i>
              </a>
            </span>

            <span id="toc-menu"><i class="fa fa-list-alt"></i></span>

            <span class="links">











              <a href='../'>Home</a> > <a href='../debugging.html'>Debugging Tools</a> > Performance Profiler






            </span>
          </div>

          <div class="progress">
            <div class="wrapper">
              <nav id="TableOfContents"></nav>
            </div>
          </div>


        </div>
      </div>



      <div id="body-inner">

        <h1>Performance Profiler</h1>




        <div class="imgBox">
          <div><img src="../images/Profiler.png">
            <span>Performance Profiler</span>
          </div>
        </div>


        <!-- raw HTML omitted -->
        <p>The profiler automatically collects data about all function calls done by the code, as well as the number of
          clock cycles spent in each respective function.</p>
        <p>Using the profiler makes it is easy to find the bottlenecks in a game&rsquo;s code, which can help code
          optimization efforts.</p>
        <p>If you are familiar with Visual Studio&rsquo;s profiler, these columns should be familiar:</p>
        <ul>
          <li><strong>Call Count</strong>: The number of times this function was called during profiling</li>
          <li><strong>Inclusive Time (Cyc)</strong>: The amount of CPU cycles spent within this function (including the
            cycles spent by all functions called by this function)</li>
          <li><strong>Inclusive Time (%)</strong>: The relative portion of CPU time spent within this function
            (including the time spent by all functions called by this function)</li>
          <li><strong>Exclusive Time (Cyc)</strong>: The amount of CPU cycles spent within this function (functions
            called by this function are excluded)</li>
          <li><strong>Exclusive Time (%)</strong>: The relative portion of CPU time spent within this function
            (functions called by this function are excluded)</li>
          <li><strong>Call Count</strong>: The number of times this function was called during profiling</li>
        </ul>
        <p>Use the <code>Reset</code> button to reset the profiler&rsquo;s data &ndash; use this when you want to
          profile a specific portion of the execution.</p>


        <footer class=" footline">

        </footer>



      </div>
    </div>

    <div id="navigation">

















































































































































































































































































































































































































































































































































      <a class="nav nav-prev" href="../debugging/memorytools.html" title="Memory Tools"> <i
          class="fa fa-chevron-left"></i></a>


      <a class="nav nav-next" href="../debugging/ppuviewer.html" title="PPU Viewer" style="margin-right: 0px;"><i
          class="fa fa-chevron-right"></i></a>

    </div>

  </section>

  <div
    style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
    <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
  </div>
  <script src="../js/clipboard.min.js?1626403088"></script>
  <script src="../js/perfect-scrollbar.min.js?1626403088"></script>
  <script src="../js/perfect-scrollbar.jquery.min.js?1626403088"></script>
  <script src="../js/jquery.sticky-kit.min.js?1626403088"></script>
  <script src="../js/featherlight.min.js?1626403088"></script>
  <script src="../js/html5shiv-printshiv.min.js?1626403088"></script>
  <script src="../js/highlight.pack.js?1626403088"></script>
  <script>hljs.initHighlightingOnLoad();</script>
  <script src="../js/modernizr.custom.71422.js?1626403088"></script>
  <script src="../js/learn.js?1626403088"></script>
  <script src="../js/hugo-learn.js?1626403088"></script>

  <link href="../mermaid/mermaid.css?1626403088" type="text/css" rel="stylesheet" />
  <script src="../mermaid/mermaid.js?1626403088"></script>
  <script>
    mermaid.initialize({ startOnLoad: true });
  </script>


</body>

</html>